Ship v0.2 observability dashboard catalog - #1
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c667126fd5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| (TelemetrySignal.EVENT,), | ||
| ("service.name", "deployment.environment.name", "change.type"), |
There was a problem hiding this comment.
Declare event support for deployment identity fields
These event-backed panels require service.name and deployment.environment.name, but the portable telemetry contract declares both fields as metric/log/trace-only. Consumers validating panel provenance against that contract will therefore reject the recent-deployments and rollback panels despite the catalog presenting them as valid; add TelemetrySignal.EVENT to both field declarations or stop requiring them from event panels.
Useful? React with 👍 / 👎.
| "splunk.table", | ||
| GOLDEN, | ||
| (TelemetrySignal.EVENT,), | ||
| ("event.name", "security.severity"), |
There was a problem hiding this comment.
Include detection.name in noisy-detection provenance
When consumers use the per-panel manifest to provision or verify fields, this panel claims it only needs event.name and security.severity, even though its SPL groups by detection.name. The field is incorrectly attached to the preceding authentication panel instead, so move it into this required-fields tuple to keep panel provenance aligned with the generated query.
Useful? React with 👍 / 👎.
| def portable_telemetry_contract() -> TelemetryContract: | ||
| """Return the immutable portable telemetry contract used by every example.""" | ||
|
|
||
| return _PORTABLE_TELEMETRY_CONTRACT |
There was a problem hiding this comment.
Avoid returning the mutable contract singleton
Although TelemetryContract is configured as frozen, its logical_indexes member is a mutable dict. A caller can run portable_telemetry_contract().logical_indexes.clear() and permanently corrupt later results—including subsequent catalog list output—in the same process because this function returns the module-level singleton. Return a deep copy or make the nested mapping genuinely immutable.
Useful? React with 👍 / 👎.
No description provided.